package com.test.sky.sync.multi.data.source.utils;

import cn.hutool.core.date.DateUtil;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * Java 8 日期工具类：自定义时分秒
 */
public class DateUtilJava8 {
    private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    
    /**
     * 自定义 Date 的时分秒
     */
    public static String setTime(Date date, int hour, int minute, int second) {
        if (date == null) {
            return null;
        }
        
        // Date 转 LocalDateTime
        LocalDateTime ldt = LocalDateTime.ofInstant(
            date.toInstant(), ZoneId.systemDefault()
        );
        
        // 自定义时分秒
        LocalDateTime customLdt = ldt.withHour(hour)
                                    .withMinute(minute)
                                    .withSecond(second);
        
        // 转回 Date
        return DateUtil.format(Date.from(customLdt.atZone(ZoneId.systemDefault()).toInstant()), "yyyy-MM-dd HH:mm:ss");
    }
    
    /**
     * 示例：将当前时间设为 17:20:00
     */

}